package com.three.work.service;

import com.three.work.bean.Sign;
import com.baomidou.mybatisplus.extension.service.IService;
import com.three.work.bean.result.ResultPage;
import com.three.work.controller.model.ApiResultModel;

import java.util.*;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author 张子艺
 * @since 2020-04-02
 */
public interface SignService extends IService<Sign> {

    /**
     * 添加Sign
     *
     * @param sign 前端传进的参数
     * @return 返回统一信息
     */
    ApiResultModel addSign(Sign sign);

    /**
     * 编辑跳转页面的回显数据Sign
     *
     * @param id 前端传进的参数
     * @return 返回实体类
     */
    Sign selectSignByIdSign(Integer id);

    /**
     * 编辑Sign
     *
     * @param sign 前端传进的参数
     * @return 返回统一信息
     */
    ApiResultModel editSign(Sign sign);


    /**
     * 删除一条Sign
     *
     * @param id 前端传进的ID
     * @return 返回统一信息
     */
    ApiResultModel delSign(Integer id);

    ApiResultModel statisticsSign(String time, Integer type);


    /**
     * 分页查询Sign
     *
     * @param page  页码
     * @param limit 查几条
     * @param sign  前端传进的参数
     * @return 返回统一分页信息
     */
    ResultPage findSignByPage(Integer page, Integer limit, Sign sign);

    ResultPage signManage(Integer page, Integer limit, String time);

    ResultPage statisticsSignByUser(Integer page, Integer limit, String time, Integer userId);

    ApiResultModel signInfoByUser(String time, Integer userId);

    default void d() {
        System.out.println();
    }

    public static void main(String[] args) {
        List<Integer> names = Arrays.asList(2, 4, 6, 1);
        Collections.sort(names, (a, b) -> b.compareTo(a));
        System.out.println(names);
    }
    public ApiResultModel FindInsertSign(String id, String amPm, String y, String m, String d, String state);
}
